// pages/order/index.js
import { request } from "../../request/index.js"
Page({

  /**
   * 页面的初始数据
   */
  data: {
    orders: [],
    tabs: [
      {
        id:0,
        value: "全部",
        isActive: true
      },
      {
        id:1,
        value: "待付款",
        isActive: false
      },
      {
        id:2,
        value: "待收货",
        isActive: false
      },
      {
        id:3,
        value: "退款/退货",
        isActive: false
      }
    ]
  },
  onShow (options) {
    // 获取当前的小程序页面栈-数组 最大长度10页面
    let pages = getCurrentPages()
    // 数组中 索引最大的页面就是当前页面
    let currentPage = pages[pages.length-1]
    // 获取url上的type参数
    const {type} = currentPage.options
    // 激活选中页面标题 当 type=1 index=0
    this.changeTitleByIndex(type-1)
    this.getOrders(type)
  },
  // 获取订单列表的方法
  async getOrders (type) {
    const token = wx.getStorageSync("token")
      if (!token) {
        wx.navigateTo({
          url: '/pages/auth/index'
        })
        return
      }
    const header = { Authorization: token }
    const res = await request({url: "/my/orders/all",data:{type}, header})
    this.setData({
      orders: res.orders.map(v=>({...v,create_time_cn:(new Date(v.create_time*1000).toLocaleString())}))
    })
  },
  // 根据标题索引来激活选中的标题数组
  changeTitleByIndex (index) {
    let {tabs} = this.data
    tabs.forEach((v,i)=>i===index?v.isActive=true:v.isActive=false)
    this.setData({
      tabs
    })
  },
  handleTabsItemChange (e) {
    // 获取被点击的标题索引
    const {index} = e.detail
    this.changeTitleByIndex(index)
    // 重新发起请求 type=1 index=0
    this.getOrders(index+1)
  }

})